1. Field of the Invention PA1 This invention relates generally to computer systems and, more particularly to methods and apparatuses for use in a host adapter that is capable of supporting a variety of host platforms. PA1 2. Description of the Related Art PA1 Host adapters are used in computer systems to provide an interface between the host processor and one or more peripheral devices, such as, for example, a hard disk, a removable disk, an MO drive, a CD-ROM, a tape, a DAT, a Floptical.RTM. drive, and a scanner. Accordingly, host adapters are well suited to provide an interface between incompatible systems. By way of example, a host adapter can be used to interface a PCI compatible host to a SCSI compatible device, in which case the host adapter would be a PCI-to-SCSI host adapter. Of course other type of adapters are also available for other systems, standards, protocols and buses.
Most host adapters include both hardware and software components which act together to convert or otherwise translate signals passing between the host and the peripheral device. For example, an adapter typically includes an adapter circuit and driver software, such as an extended BIOS image, which are used by the host's processor during initialization and later to access the host adapter. As such, conventional host adapters are configured for use with a specific host processor, or specific types of platforms. For example, a PCI-to-SCSI host adapter can be configured to support the Intel Pentium.RTM. family of microprocessors, or the Motorola PowerPC.RTM. family of microprocessors which are found in many of today's personal computers and workstations.
With this in mind, FIG. 1a is a block diagram illustrating a typical computer system 10 having a host 12, a PCI bus 14, a PCI to SCSI host adapter 16, a SCSI bus 18, and a SCSI device 20. Host 12 represents a host processor, such as an Intel Pentium.RTM. microprocessor, a Motorola 68XXX, a PowerPC.RTM. microprocessor, or other microprocessor and associated support circuitry, such as a system memory and interfacing circuitry. As shown in this example, host 12 is coupled to host adapter 16 by way of PCI bus 14. As such, host adapter 16 is configured to receive PCI compatible data, addressing and control signals from PCI bus 14 and convert them to corresponding SCSI compatible data, addressing and controls signals which are then supplied to SCSI device 20 over SCSI bus 18. Likewise, host adapter 16 is also configured to receive SCSI compatible data, addressing and control signals from SCSI device 20 and convert them into corresponding PCI compatible data, addressing and controls signals which are then be supplied to PCI bus 14.
FIG. 1b is a block diagram illustrating a conventional PCI to SCSI host adapter 16, as in FIG. 1a, having a PCI bus connector 22, a logic circuit 24, a ROM 26, and a SCSI connector 28. PCI bus connector 22 represents a PCI compatible interface and physical connector for use in coupling host adapter 16 to PCI bus 14. Logic circuit 24 represents.sup.- sequential, combinatorial, and/or other logic circuitry that is configured to interface with both the PCI bus and SCSI bus. ROM 26 is a read only memory (ROM) that contains operating instructions that can be read into the system memory within host 12 and executed by the processor within host 12 to access host adapter 16. The operating instructions stored within ROM 26 usually include either a BIOS image or some other type of PCI compatible platform operating system (OS) driver for use with a particular type of processor or processor family. By way of example, ROM 26 can include a PC BIOS image for use with Intel Pentium.RTM. processors. In which case, host adapter 16 would be configured for use with hosts that are Intel Pentium.RTM. based platforms. Another host adapter can, for example, include a PCI compatible platform OS driver for use with a Motorola PowerPC.RTM. based platform, such as those used in the Apple Macintosh.RTM. platforms. Of course additional processors/platforms could be serviced by other host adapters that are similarly configured with the proper driver stored in ROM 26.
One problem with conventional adapters, such as adapter 16 in FIG. 1b, is that these host adapters are platform specific. This tends to increase compatibility burdens for manufacturers and distributors of host adapters. Additionally, users may be burdened if they are unfortunate enough to have purchased and/or installed the wrong host adapter for their platform. All of this can lead to increased costs, customer discontent and decreased efficiency.
In view of the foregoing, there is a need for a multiple-platform compatible host adapter that is easy for the user to install, and inexpensive for the manufacturers and distributors to make and sell.